Automated feature extraction and artificial intelligence (AI) based detection and classification of malware

ABSTRACT

Systems and methods for detection and classification of malware using an AI-based approach are provided. In one embodiment, a T-node maintains a sample library including benign and virus samples. A classification model is generated by training a classifier based on features extracted from the samples. The classification model is distributed to D-nodes for use as a local virus detection model. Responsive to detection of a virus by a D-node, the T-node receives a virus sample from the D-node. When the virus sample is not in the sample library, it is incorporated into the sample library. A feature depository is created/updated by the T-node by extracting features from the samples. Responsive to a retraining event: (i) an improved classification model is created by retraining the classifier based on the feature depository; and (ii) the D-nodes are upgraded by replacing their local virus detection models with the improved classification model.

COPYRIGHT NOTICE

Contained herein is material that is subject to copyright protection.The copyright owner has no objection to the facsimile reproduction ofthe patent disclosure by any person as it appears in the Patent andTrademark Office patent files or records, but otherwise reserves allrights to the copyright whatsoever. Copyright © 2018, Fortinet, Inc.

BACKGROUND Field

Embodiments of the present invention generally relate to the fields ofcybersecurity and artificial intelligence and more particularly to anartificial intelligence (AI) based approach for detection andclassification of malicious software (malware), which may be used withina self-evolving cybersecurity fabric and which may be based uponautomatically extracted features.

Description of the Related Art

Computer networks are continually targeted by attackers who injectviruses that may cause serious damage to computer systems. A computervirus is a form of malware that is an elaborately designed program thattypically propagates by attaching itself to other programs or sets ofcomputer instructions. The intent of a virus is usually to gain accessto computer systems, disturb computer operations, steal personalinformation and the like. Therefore, several security techniques andmethods have been developed to minimize exposure of computer systems todifferent types of viruses.

Widely used techniques to overcome the problems created by computerviruses include installing software known as anti-virus software.Conventional anti-virus software typically relies on a signature-basedand/or a behavior-based approach to detect computer viruses, whichrequires analysts to generate specific signatures or rules based onexamining the disassembled malicious code and/or based on observing theexecution of the malicious code in a controlled environment. However,both traditional signature-based and behavior-based anti-virus softwarehave intrinsic disadvantages. Firstly, a considerable amount of humanresources must be invested in order to analyze virus patterns orbehaviors, and then hand-crafted signatures or rules are developed todetect a particular family of viruses. Secondly, this manual processsignificantly increases the time between detection and response, whichmakes it difficult to provide immediate protection for zero-day attacks,for example, by traditional anti-virus approaches. Thirdly, as a resultof the pursuit of low false positive rates, the specific patterns thattrigger conventional signature-based and behavior-based anti-virussoftware may not be sufficiently generalized to detect new viruses. As aresult, in order to evade detection attackers generally use techniqueslike obfuscation or polymorphism to create new variants of a virusfamily.

In recent years, anti-virus software using AI-based techniques has beendeveloped for used in connection with detection of computer viruses;however, since such anti-virus software still uses conventionalsignature-based analysis (e.g., disassembly of the malicious code andextraction of a collection of static features to train amachine-learning model), conventional evasion approaches remaineffective and can be used by virus writers to avoid detection.Therefore, there is a need in the art to develop improved techniques formalware detection.

SUMMARY

Systems and methods are described for detection and classification ofmalware using an artificial intelligence (AI) based approach. Accordingto one embodiment, a central training node (T-node) of a cybersecurityfabric maintains a sample library having multiple samples. The samplesinclude virus samples and benign samples. A global virus classificationmodel is generated by the T-node by extracting features from the samplesand training a machine-learning classifier or a deep-learning neuralnetwork. The global virus classification model is distributed by theT-node to multiple detection nodes (D-nodes) of the cybersecurity fabricfor use as a local virus detection model in connection with virusdetection and sample collection. Each of the D-nodes is associated witha respective customer network. Responsive to detection of a virus innetwork traffic being processed by one of the D-nodes, the T-Nodereceives a virus sample from the D-node. When an instance of thereceived virus sample is already present in the sample library, it isnot incorporated into the sample library; otherwise it is incorporatedinto the sample library by adding the received virus sample into anappropriate category of multiple virus family categories based on avirus family with which the received virus sample is associated. Afeature depository is created or updated by the T-node by extractingfeatures from the samples. Responsive to a retraining event: (i) animproved global virus classification model is created by the T-node byretraining the machine-learning classifier or the deep-learning neuralnetwork based on features contained in the feature depository; and (ii)the D-nodes are caused to be upgraded by the T-Node by distributing theimproved global virus classification model to the D-nodes to replacetheir respective local virus detection models.

Other features of embodiments of the present disclosure will be apparentfrom accompanying drawings and detailed description that follows.

BRIEF DESCRIPTION OF THE DRAWINGS

In the Figures, similar components and/or features may have the samereference label. Further, various components of the same type may bedistinguished by following the reference label with a second label thatdistinguishes among the similar components. If only the first referencelabel is used in the specification, the description is applicable to anyone of the similar components having the same first reference labelirrespective of the second reference label.

FIG. 1 illustrates an exemplary network architecture in which or withwhich embodiments of the present invention can be implemented.

FIG. 2 is a module diagram illustrating functional units of a T-node inaccordance with an embodiment of the present invention.

FIG. 3 illustrates the automated self-evolving cycle as a result ofinteractions between multiple distributed D-nodes and a T-node inaccordance with an embodiment of the present invention.

FIG. 4 is a block diagram conceptually illustrating workflow performedby a T-node in accordance with an embodiment of the present invention.

FIG. 5 is a block diagram conceptually illustrating feature extractionfor virus detection and classification in accordance with an embodimentof the present invention.

FIG. 6A is a high-level flow diagram illustrating a process forgenerating a classification model by a T-node in accordance with anembodiment of the present invention.

FIG. 6B is a high-level flow diagram illustrating a process forproviding a virus sample by a D-node to a T-node in accordance with anembodiment of the present invention.

FIG. 7 illustrates an exemplary computer system in which or with whichembodiments of the present invention may be utilized.

DETAILED DESCRIPTION

Systems and methods are described for detection and classification ofcomputer virus using an artificial intelligence (AI) based approach. Inthe following description, numerous specific details are set forth inorder to provide a thorough understanding of embodiments of the presentinvention. It will be apparent to one skilled in the art thatembodiments of the present invention may be practiced without some ofthese specific details.

Embodiments of the present invention include various steps, which willbe described below. The steps may be performed by hardware components ormay be embodied in machine-executable instructions, which may be used tocause a general-purpose or special-purpose processor programmed with theinstructions to perform the steps. Alternatively, steps may be performedby a combination of hardware, software, firmware and/or by humanoperators.

Embodiments of the present invention may be provided as a computerprogram product, which may include a machine-readable storage mediumtangibly embodying thereon instructions, which may be used to program acomputer (or other electronic devices) to perform a process. Themachine-readable medium may include, but is not limited to, fixed (hard)drives, magnetic tape, floppy diskettes, optical disks, compact discread-only memories (CD-ROMs), and magneto-optical disks, semiconductormemories, such as ROMs, PROMs, random access memories (RAMs),programmable read-only memories (PROMs), erasable PROMs (EPROMs),electrically erasable PROMs (EEPROMs), flash memory, magnetic or opticalcards, or other type of media/machine-readable medium suitable forstoring electronic instructions (e.g., computer programming code, suchas software or firmware).

Various methods described herein may be practiced by combining one ormore machine-readable storage media containing the code according to thepresent invention with appropriate standard computer hardware to executethe code contained therein. An apparatus for practicing variousembodiments of the present invention may involve one or more computers(or one or more processors within a single computer) and storage systemscontaining or having network access to computer program(s) coded inaccordance with various methods described herein, and the method stepsof the invention could be accomplished by modules, routines,subroutines, or subparts of a computer program product.

Exemplary embodiments will now be described more fully hereinafter withreference to the accompanying drawings, in which exemplary embodimentsare shown. This invention may, however, be embodied in many differentforms and should not be construed as limited to the embodiments setforth herein. These embodiments are provided so that this invention willbe thorough and complete and will fully convey the scope of theinvention to those of ordinary skill in the art. Moreover, allstatements herein reciting embodiments of the invention, as well asspecific examples thereof, are intended to encompass both structural andfunctional equivalents thereof. Additionally, it is intended that suchequivalents include both currently known equivalents as well asequivalents developed in the future (i.e., any elements developed thatperform the same function, regardless of structure).

Thus, for example, it will be appreciated by those of ordinary skill inthe art that the diagrams, schematics, illustrations, and the likerepresent conceptual views or processes illustrating systems and methodsembodying this invention. The functions of the various elements shown inthe figures may be provided through the use of dedicated hardware aswell as hardware capable of executing associated software. Similarly,any switches shown in the figures are conceptual only. Their functionmay be carried out through the operation of program logic, throughdedicated logic, through the interaction of program control anddedicated logic, or even manually, the particular technique beingselectable by the entity implementing this invention. Those of ordinaryskill in the art further understand that the exemplary hardware,software, processes, methods, and/or operating systems described hereinare for illustrative purposes and, thus, are not intended to be limitedto any particular named.

Terminology

Brief definitions of terms used throughout this application are givenbelow.

The phrase “security device” generally refers to a hardware device orappliance configured to be coupled to a network and to provide one ormore of data privacy, protection, encryption and security. The networksecurity device can be a device providing one or more of the followingfeatures: network firewalling, VPN, antivirus, intrusion prevention(IPS), content filtering, data leak prevention, antispam, antispyware,logging, reputation-based protections, event correlation, network accesscontrol, vulnerability management, application control, load balancingand traffic shaping—that can be deployed individually as a pointsolution or in various combinations as a unified threat management (UTM)solution. Non-limiting examples of network security devices includeproxy servers, firewalls, VPN appliances, gateways, UTM appliances andthe like.

The phrase “edge device” generally refers to a network device thatcontrols data flow at the boundary between two networks (e.g., between apublic network, such as the Internet, and a private network, such as aprotected customer network). Edge devices typically serve as networkentry and/or exit points. Some common functions of edge devices are thetransmission, routing, processing, monitoring, filtering, translationand/or storage of data passing between networks. One example of an edgedevice is an edge firewall in standalone form or implemented as part ofa UTM appliance. Other examples include, but are note limited to, anedge router, Examples include routers, routing switches, integratedaccess devices (IADs), multiplexers, and a variety of metropolitan areanetwork (MAN) and wide area network (WAN) access devices.

The phrase “executable file,” “binary file,” “executable,” or “binary”generally refer to a file containing executable instructions, typicallyproduced as a result of compiling a high-level programming language,that cause a computer to perform indicated tasks according to encodedinstructions. Notably, the encoded instructions may be in the form ofmachine code or machine language instructions that are executed directlyby a physical central processing unit (CPU) or may be in the form ofbytecodes or scripting language instructions that are executed by asoftware interpreter.

The phrase “network appliance” generally refers to a specialized ordedicated device for use on a network in virtual or physical form. Somenetwork appliances are implemented as general-purpose computers withappropriate software configured for the particular functions to beprovided by the network appliance; others include custom hardware (e.g.,one or more custom Application Specific Integrated Circuits (ASICs)).Examples of functionality that may be provided by a network applianceinclude, but is not limited to, Layer ⅔ routing, content inspection,content filtering, firewall, traffic shaping, application control, Voiceover Internet Protocol (VoIP) support, Virtual Private Networking (VPN),IP security (IPSec), Secure Sockets Layer (SSL), antivirus, intrusiondetection, intrusion prevention, Web content filtering, spywareprevention and anti-spam. Examples of network appliances include, butare not limited to, network gateways and network security appliances(e.g., FORTIGATE family of network security appliances and FORTICARRIERfamily of consolidated security appliances), messaging securityappliances (e.g., FORTIMAIL family of messaging security appliances),database security and/or compliance appliances (e.g., FORTIDB databasesecurity and compliance appliance), web application firewall appliances(e.g., FORTIWEB family of web application firewall appliances),application acceleration appliances, server load balancing appliances(e.g., FORTIBALANCER family of application delivery controllers),vulnerability management appliances (e.g., FORTISCAN family ofvulnerability management appliances), configuration, provisioning,update and/or management appliances (e.g., FORTIMANAGER family ofmanagement appliances), logging, analyzing and/or reporting appliances(e.g., FORTIANALYZER family of network security reporting appliances),bypass appliances (e.g., FORTIBRIDGE family of bypass appliances),Domain Name Server (DNS) appliances (e.g., FORTIDNS family of DNSappliances), wireless security appliances (e.g., FORTIWIFI family ofwireless security gateways), FORIDDOS, wireless access point appliances(e.g., FORTIAP wireless access points), switches (e.g., FORTISWITCHfamily of switches) and IP-PBX phone system appliances (e.g., FORTIVOICEfamily of IP-PBX phone systems).

The term “malware” generally refers to software that is writtenspecifically to harm and infect a host system. Malware includes, but, isnot limited to, viruses, trojan horses, worms, spyware, adware andransomware.

The terms “connected” or “coupled” and related terms are used in anoperational sense and are not necessarily limited to a direct connectionor coupling. Thus, for example, two devices may be coupled directly, orvia one or more intermediary media or devices. As another example,devices may be coupled in such a way that information can be passedthere between, while not sharing any physical connection with oneanother. Based on the disclosure provided herein, one of ordinary skillin the art will appreciate a variety of ways in which connection orcoupling exists in accordance with the aforementioned definition.

If the specification states a component or feature “may”, “can”,“could”, or “might” be included or have a characteristic, thatparticular component or feature is not required to be included or havethe characteristic.

As used in the description herein and throughout the claims that follow,the meaning of “a,” “an,” and “the” includes plural reference unless thecontext clearly dictates otherwise. Also, as used in the descriptionherein, the meaning of “in” includes “in” and “on” unless the contextclearly dictates otherwise.

The phrases “in an embodiment,” “according to one embodiment,” and thelike generally mean the particular feature, structure, or characteristicfollowing the phrase is included in at least one embodiment of thepresent disclosure, and may be included in more than one embodiment ofthe present disclosure. Importantly, such phrases do not necessarilyrefer to the same embodiment.

Systems and methods are described for detection and classification ofcomputer virus using an artificial intelligence (AI) based approach.Various embodiments of the present disclosure describes components andarchitecture of an AI-based self-evolving cybersecurity fabric, which isdesigned to share information, collaborate and self-evolve. The fabriccan be built upon a network of interconnected components, including asample database, a central training unit, and a number of neurons (e.g.,a distributed set of detection nodes). The sample database stores virusand benign samples in the central training unit, a virus classifier isestablished by training a machine-learning based classification modelwith knowledge gleaned from the sample database; the neurons use themachine-learning based classification model trained in the centraltraining unit a local virus detection models to detect and classifyviruses, and report them to update the sample database. In anembodiment, the security fabric is able to serve as a framework forAI-based network security, which can be self-operating, self-learning,self-correcting, and self-evolving. Those skilled in the art willappreciate that with self-learning capabilities, manually generatedsignatures or rules are no longer a necessity in virus detection.Furthermore, combining AI and automation allows the security fabric toshorten the time between detection and response without humanintervention, which not only makes zero-day protection possible, butalso may anticipate and respond to threats before they can impact thenetwork. In addition, embodiments of the present disclosure utilizesignal processing techniques to extract features from binary files, forexample, containing machine code or machine language instructions, thus,analysis of the disassembled codes is no longer required. In thismanner, embodiments of the present disclosure overcome variousdisadvantages of existing anti-virus software techniques and are notdeceived by conventional evasion approaches used by virus writers.

An aspect of the present disclosure pertains to a method that caninclude receiving, by a central training node (T-node) of acybersecurity fabric, a virus sample detected by a detection node ofmultiple distributed detection nodes (D-nodes) of the cybersecurityfabric, wherein each of the D-nodes is associated with a customernetwork, and storing one or more virus samples detected by the D-nodesin a sample library, wherein the number of benign samples in the samplelibrary is greater than number of virus samples; extracting, by theT-node, features from the samples stored in the sample library andstoring the extracted features in a feature depository; enabling, by theT-node, an artificial intelligence learning unit to learn any or acombination of features stored in the feature depository to build aclassification model for detection and classification of viruses; andproviding, by the T-node, the classification model in the form of adetection model to each D-node, the detection model configured to detectand classify viruses observed by the D-node.

In an embodiment, the extraction of features from the samples can beperformed by: reading, by the T-node, using multiple buffers arranged inparallel topology, binary files associated with the samples such thateach binary file is stored within one of the multiple buffers; andprocessing, by the T-node, each of the binary files using a featureextraction technique to yield an m-dimensional feature vector, whereineach dimension of the m-dimensional feature vector corresponds to anextracted feature of respective binary file.

In an embodiment, processing using feature extraction technique caninclude: transforming each binary file into a time series vector suchthat each binary file is distributed across multiple of chunks, eachchunk comprising a specific number of bits associated with an unsignedinteger, wherein the size of the vector is equal to the number of thechunks; and projecting the time series vector from the time-domain to afirst domain, wherein the first domain is defined using a pre-definedmatrix.

In an embodiment, the artificial intelligence learning unit is triggeredto perform learning based on any or a combination of features stored inthe feature depository when the number of samples stored in the samplelibrary exceeds a configurable or predetermined threshold.

In an embodiment, the T-node can provide its classification model to aD-node in response to a request received from the D-node and the D-nodecan use the classification model as a local detection model fordetecting viruses in network traffic being analyzed by the D-node.

In an embodiment, responsive to detecting a virus, the D-nodescategorize and label the virus according to a virus family associatedwith the detected virus and provide them to the T-node to beincorporated into the sample library maintained by the T-node and usedduring retraining of the T-node's classification model (e.g., amachine-learning and/or a deep-learning model), thus forming a feed-backloop between the D-nodes and the T-node that facilitates theself-evolving nature of the cybersecurity fabric.

In an embodiment, each D-node can learn features associated with locallydetected viruses by performing a local feature extraction and detectionmodel re-training process. In this manner, the D-nodes are provided withthe ability to refresh their local detection models based on locallyobserved viruses until an updated detection model is received from theT-node that is based on viruses observed by all the participatingD-nodes.

In an embodiment, the features comprise a control diagram fromdisassemble codes of the samples, an n-gram from semantic analysis ofthe samples, and coefficients from projection of the samples onto thefeature space.

In an embodiment, the classification model is updated based on learningby the artificial intelligence learning unit, any or a combination offeatures stored in the feature depository.

FIG. 1 illustrates an exemplary network architecture 100 in which orwith which embodiments of the present invention can be implemented. FIG.1 illustrates various components and the architecture of an AI-basedself-evolving cybersecurity fabric. A system 106 that can detect andclassify malware using an artificial intelligence (AI) based approach isimplemented within the core of the cybersecurity fabric, a centraltraining node (T-node) 104. In the context of the present example,network architecture 100 further includes multiple customer networks118-1, 118-2, . . . , 118-N (which may be collectively referred toherein as customer networks 118 and individually referred to herein as acustomer network 118) communicatively coupled to a network 114 throughrespective detection nodes (D-nodes) 116-1, 116-2, . . . , 116-N (whichmay be collectively referred to herein as D-nodes 116 and individuallyreferred to herein as a D-node 116) of the cybersecurity fabric. As oneof many potential options, D-nodes 116 can be deployed in the form of orimplemented within edge devices (e.g., edge firewalls) between externalnetwork 114, e.g., the Internet, and customer networks 118 to act asvirus detectors and sample collectors. Users of each customer network118 can interact with resources accessible via external network 114through various traditional end-user computing devices, including, butnot limited to, personal computers, smart devices, web-enabled devices,hand-held devices, laptops, mobile phones and the like.

According to one embodiment, T-Node 104 is implemented in the form of asingle server or multiple rack servers. In another implementation,T-Node 104 can include, but is not limited to, a massive storage deviceto store a sample library 108, a fast parallel I/O bus to read data fromsample library 108 for feature extraction, a Central Processing Unit(CPU) pool to extract features from raw data, a massive storage deviceto store feature depository 110, a cache to aggregate features and feedthem to AI learning unit 112, and a cache to store and update theparameters learned during the training process to generate aclassification model. In an implementation, T-node 104 can also includea computation array that provides basic computation ability to support amachine-learning and/or a deep-learning training process, for example,the computation array can include a coordinator to coordinatecomputation tasks among computation units in the array and a computingpool that could be a physical pool that includes multiple GraphicsProcessing Units (GPUs) or a virtual pool of distributed resources thatperforms the computation tasks remotely (e.g., at various nodesconnected to network 114).

Those skilled in the art will appreciate that, various networks inarchitecture 100 can be wireless networks, wired networks or acombination thereof that can be implemented as one of the differenttypes of networks, such as Intranet, Local Area Network (LAN), Wide AreaNetwork (WAN), Internet, and the like. Further, the networks can eitherbe dedicated networks or shared networks. The shared networks representan association of the different types of networks that use a variety ofprotocols, for example, Hypertext Transfer Protocol (HTTP), TransmissionControl Protocol/Internet Protocol (TCP/IP), Wireless ApplicationProtocol (WAP), and the like.

According to an embodiment, system 106 is provisioned with an initialset of virus and benign samples to form sample library 108. As describedfurther below, sample library 108 can be updated continuously over timeas new viruses are detected by D-nodes 116 of the cybersecurity fabric.Sample library 108 thus represents a comprehensive portfolio thatarchives raw virus instances and benign samples. The virus instances insample library 108 are categorized based on virus family, and areupdated continuously over time when new viruses are detected. The benignsamples may include a variety of file formats, including, but notlimited to, .pdf, .exe, .xls, .xlsx, .doc, .docx, and etc. The ratio ofbenign samples to virus instances defines the balance of sample library108. A balanced sample library has a ratio approximating 1 to 1, whichmeans both the virus instances and the benign samples carry the sameweight in the training process, which results in a relatively higherfalse positive rate than when the number of benign samples is increased.As such, in one embodiment, in order to achieve a lower false positiverate while maintain the detection rate at a reasonable level, samplelibrary 108 is an imbalanced sample library, having a greater number ofbenign samples than virus samples. For example, the ratio of benignsamples to virus instances may be 2 to 1, 5 to 1, 10 to 1 or greater.

As described in further detail below, system 106 extracts features fromthe samples stored in sample library 108 and stores the extractedfeatures in feature depository 110. Feature depositary 110 can be anauxiliary storage device that is used to facilitate the training processand reduce training time by feeding the features into AI learning unit112. Feature extraction can be an on-line process, which can betriggered immediately responsive to a new sample being added to samplelibrary 108 to reduce training time and improve training efficiency.Conversely, the training process performed by AI learning unit 112 canbe an off-line process that can be triggered only after a considerablenumber of samples have been collected and added to sample library 108.According to one embodiment, the training process can be performed on adaily basis. Alternatively or additionally, the training process may betriggered responsive to a new variant of a virus being detected by aD-node.

As described in further detail below, system 106 can cause AI learningunit 112 to train a machine-learning and/or a deep learning model (whichmay also be referred to herein as a global virus classification model, avirus classification model or simply a classification model) based onany or a combination of features stored in feature depository 110. Theclassification model is an integral part of the cybersecurity fabricupon which detection accuracy and response time depend. Those skilled inthe art will appreciate that the classification model can beperiodically updated based on learning by AI learning unit 112.Additionally, system 106 can distribute the classification model to eachD-node 116 to be used as a local virus detection model (which may alsobe referred to herein simply as a detection model or a local detectionmodel).

As discussed further below, D-nodes 116 are configured to detect andclassify viruses observed in network traffic associated with theirrespective customer networks 118. Those skilled in the art willappreciate that D-nodes 116 can build their own local virus detectionmodels by reconstructing the machine learning or deep-learning modelreceived from T-node 104. In support of the self-evolving nature of thecybersecurity fabric, responsive to detection of a virus by a D-node116, it can upload the detected virus to sample library 108.Additionally, responsive to detection of a virus by a D-node 116, it canupdate its local virus detection model based on a local featureextraction process and a re-training process. In this manner, D-nodes116 can be continuously updated based on locally detected viruses toimprove the protection they provide on behalf of their respectivecustomer networks 118 while awaiting the next machine learning ordeep-learning model update from T-node 104.

FIG. 2 is a module diagram illustrating functional units of a T-node inaccordance with an embodiment of the present invention. In the contextof the present example, system 106, which may represent a T-node (e.g.,T-node 104) of a cybersecurity fabric, can include one or moreprocessor(s) 202. Processor(s) 202 can be implemented as one or moremicroprocessors, microcomputers, microcontrollers, digital signalprocessors, central processing units, logic circuitries, and/or anydevices that manipulate data based on operational instructions. Amongother capabilities, processor(s) 202 are configured to fetch and executecomputer-readable instructions stored in a memory 206 of system 106.Memory 206 can store one or more computer-readable instructions orroutines, which may be fetched and executed to create or share the dataunits over a network service. Memory 206 can include any non-transitorystorage device including, for example, volatile memory such as RAM, ornon-volatile memory such as EPROM, flash memory, and the like. In anexample embodiment, memory 206 may be a local memory or may be locatedremotely, such as a server, a file server, a data server, and the Cloud.

System 106 can also include one or more interface(s) 204. Interface(s)204 may include a variety of interfaces, for example, interfaces fordata input and output devices, referred to as I/O devices, storagedevices, and the like. Interface(s) 204 may facilitate communication ofsystem 106 with various devices coupled to system 106. Interface(s) 204may also provide a communication pathway for one or more components ofsystem 106. Examples of such components include, but are not limited to,processing engine(s) 208, sample library 108, feature depository 110 anddata 220.

Processing engine(s) 208 can be implemented as a combination of hardwareand software or firmware programming (for example, programmableinstructions) to implement one or more functionalities of engine(s) 208.In the examples described herein, such combinations of hardware andsoftware or firmware programming may be implemented in several differentways. For example, the programming for the engine(s) may be processorexecutable instructions stored on a non-transitory machine-readablestorage medium and the hardware for engine(s) 208 may include aprocessing resource (for example, one or more processors), to executesuch instructions. In the examples, the machine-readable storage mediummay store instructions that, when executed by the processing resource,implement engine(s) 208. In such examples, system 106 can include themachine-readable storage medium storing the instructions and theprocessing resource to execute the instructions, or the machine-readablestorage medium may be separate but accessible to system 106 and theprocessing resource. In other examples, processing engine(s) 208 may beimplemented by electronic circuitry. Data 220 can include data that iseither stored or generated as a result of functionalities implemented byany of the components of processing engine(s) 208.

In the context of the present example, processing engine(s) 208 includea sample receive module 210, a feature extraction module 212, aclassification model generation module 214, a classification modelcommunication module 216 and other module(s) 218. Other module(s) 218can implement functionalities that supplement applications or functionsperformed by system 106 or processing engine(s) 208.

In an embodiment, sample receive module 210 can receive virus samplesdetected by D-nodes (e.g., D-nodes 116) of the cybersecurity fabric.D-nodes can be deployed as edge devices (e.g., edge firewalls) betweenan external network, e.g., the Internet, and respective customernetworks to act as virus detector and sample collector. As virusdetectors, each of the D-node can build its own virus classifier in aform of a detection model based on the machine-learning or deep-learningmodel received from the T-node (e.g., T-node 104). In one embodiment,the D-nodes characterize and label the detected viruses as beingassociated with a specific virus family before providing the virussamples to the T-node. Further, as sample collectors, the D-nodes canaid in uploading the detected virus as a virus sample to sample library108. In an example, if a particular virus sample is already archived insample library 108, it can be deserted; otherwise, the particular virussample can be added into an appropriate category associated therewith.In one embodiment, as sample collectors, D-nodes not only provide virussamples to T-node but can also provide benign samples to sample receivemodule 210 such that sample receive module 210 can build sample library108 by selecting samples from the received samples.

According to an embodiment, sample library 108 can represent acomprehensive portfolio that archives raw virus samples and benignsamples. The virus samples in sample library 108 can be categorizedbased on virus family, and can be updated continuously over time whennew viruses are detected. The benign samples can include a variety offile formats, such as .pdf, .exe, .xsl, and the like. Those skilled inthe art will appreciate that balance of sample library 108 can bedefined by a ratio of benign samples to virus samples. A balanced samplelibrary 108 can have a ratio approximating 1 to 1, which means both ofthe virus samples and the benign samples carry the same weight duringthe training process that is described below. However, among theindicators of virus prevention techniques such as anti-virus softwareperformance, a lower false positive rate usually of more practical valuethan a higher detection rate. Therefore, to achieve a low false positiverate while also maintaining the detection rate at a reasonable level, inone embodiment, sample library 108 is an imbalanced sample library,having a number of benign samples greater than the number of virussamples. For example, sample receive module 210 can select the samplesfrom the received samples so that ratio of benign samples to virussamples in sample library 108 can be kept high, for example,approximating 10 benign samples for every 1 virus sample.

In an embodiment, feature extraction module 212 can extract featuresfrom the samples stored in sample library 108 and can store theextracted features in a feature depository 110. Feature depositary 110can be an auxiliary storage device that facilitates the training processand reduces training time by feeding the features either solely or incombination into an AI learning unit (e.g., AI learning unit 112 of FIG.1). Feature depository 110 can store a variety of file featuresextracted from every sample in sample library 108. The file featuresinclude, but are not limited to, a control diagram ascertained from thedisassembled code of the sample, an n-gram from semantic analysis of thedisassembled code, and the coefficients from the projection on featurespace, which are described further below. In one embodiment, in order toreduce training time and improve training efficiency, feature extractioncan be performed as an on-line process, which can be triggeredimmediately once a new sample is added to sample library 108. However,the training process (performed, for example, AI learning unit 112 ofFIG. 1) as described further below can be performed as an off-lineprocess (e.g., a batch process) that can be triggered only when asufficient number of new samples have been collected within samplelibrary as determined, for example, by tracking the number of newsamples added since the last training process or by the passing of apredetermined or configurable amount of time (e.g., one day).Alternatively or additionally, the training process can be triggeredresponsive to the detection of a new variant of a virus by a D-node thathas been added to sample library 108. Further details regarding anexemplary feature extraction module are provided below with reference toFIGS. 4 and 5.

In an embodiment, classification model generation module 214 can enablethe AI learning unit to learn any or a combination of features stored infeature depository 110 to build a classification model for detection andclassification of viruses. Classification model generation module 214can use the features or combination of features stored in featuredepositary 110 to train a machine-learning and/or a deep-learning modelas a virus classifier that can be used as a classification model. Thedetection accuracy and response time of the fabric can depend on theclassification model. Since the retraining of the machine-learningand/or deep-learning model is a time consuming process, it is typicallyperformed offline and only after receipt of a sufficient number of newsamples within sample library 108 to make the re-training processworthwhile; however, those skilled in the art will appreciate that theclassification model can be continuously updated based on learning bythe AI learning unit. Further details regarding generation of anexemplary classification model are provided with reference to FIG. 5.

In an embodiment, classification model communication module 216 canprovide the classification model to each D-node, which is configured todetect and classify viruses detected in network traffic associated withits respective customer network. In an example, classification modelcommunication module 216 can provide the classification model to theD-nodes responsive to completion of an update to the T-node'sclassification model based on retraining performed by the AI learningunit. Alternatively or additionally, classification model communicationmodule 216 can provide the classification model to the D-node responsiveto a request received from the D-node.

FIG. 3 illustrates the automated self-evolving cycle 300 as a result ofinteractions between multiple distributed D-nodes and a T-node inaccordance with an embodiment of the present invention. In context ofthe present example, D-node 116 acts as a virus detector (on behalf ofthe customer network it is protecting and on behalf of the T-node) andas sample collector on behalf of the T-node. It is desirable for D-node116 to be in a position to inspect/scan all network traffic entering andleaving the protected customer network. As such, as noted above, onepossible place to implement functionality of D-node 116 is within anedge device (e.g., an edge firewall) logically interposed between theexternal network and the customer network.

At decision block 304, assuming a D-node is implemented within an edgefirewall and its role is to, among other things, protect the customernetwork against malware (e.g., viruses) contained in network trafficoriginated within the external network and directed to the customernetwork, D-node 116 receives the network traffic and performs a virusdetection process on the network traffic based on the local virusdetection model to determine whether the network traffic contains avirus. Those skilled in the art will appreciate that network trafficoriginated within the customer network and directed to a destinationassociated with the external network can also be subject to a virusscan; however, for sake of simplicity and brevity, in the context of thepresent example, virus detection processing is described with referenceto network traffic attempting to enter the customer network from theexternal network. In any event, when a determination is made that novirus is present within the network traffic, then processing branches toblock 306; otherwise processing continues with block 308.

At block 306, it has been determined that no virus is present within thenetwork traffic so the network traffic is allowed to pass through D-nodeand is forwarded to its intended destination within the customernetwork.

At block 308, it has been determined that a virus is present within thenetwork traffic, so the network traffic is blocked (e.g., dropped orquarantined) and is prevented from reaching the intended recipient.

At block 310, D-node labels the detected virus as being associated witha specific virus family and provides the detected virus to system 106for including within sample library 108. In one embodiment, D-nodes maymake an Application Programming Interface (API) call (e.g., an uploadrequest via a Representational State Transfer (REST)ful API). When aninstance of the virus is already archived in sample library 108, system106 may forego incorporation of the received virus sample (e.g., byignoring or dropping the request); otherwise, the received virus samplecan be added into an associated category in sample library 108.

Additionally, responsive to detecting a virus by D-node 116, tocontinually improve the local virus detection model and efficientlydetect new virus variants, D-node 116 can also use the detected virus toretrain its local virus detection model by performing feature extractionat block 312. Feature extraction from a virus sample is described below.

At block 314, the local virus detection model is retrained. In thismanner, the virus detection performed by each D-node evolves based onlocally observed viruses until an update to the local virus detectionmodel is provided by the T-node based on virus samples detected by allparticipating D-nodes.

The idea of the local retraining process in a D-node is based on thefact that if a D-node detects a new virus/variant, it is likely thatthis D-node will be attacked again by this kind of virus in the nearfuture. For an alternative train-update process without local retrainingin which a D-node is upgraded only by the T-node, a D-node first reportsthis virus, then the T-node would train a new model, and a D-node'slocal detection model is not updated until it receives the new trainedmodel from the T-node. In such a scenarios, the attackers can takeadvantage of this period of response time to evade the current localdetection model used by this “targeted” D-node.

Therefore, in one embodiment, it is desirable for a D-node to have someability to “learn.” Taking a Neural Network classifier for example: aNeural Network classifier could have tens or hundreds of hidden layers.Each layer may have millions of parameters that represent properties orcharacteristics of the file being examined. And, the lower the layer is,the more coarse and generic the characteristics would be. In otherwords, when adding a single or few samples to train a new Neural Networkclassifier, the parameters in the lower layers change less than those inhigher layers, or may not even change at all. But, lower layers have farmore parameters than higher layers, and thus updating lower layerparameters requires more memory and computation.

For training performed by the T-node, all of the layers and theirparameters can be updated during a (re)training process. However, thiskind of training is computational expensive, and may not be practicalfor performance by a D-node. Thus, in one embodiment, for (re)trainingto be performed by a D-node, one option is to only train a limitednumber of layers (e.g., several higher layers) while “freezing” theparameters in the lower layers. That is, for the feed-forward process,the input will go from the lowest layer to the highest layer; while forgradient back-propagation, it only goes through the last few highestlayers, and updates parameters in those layers correspondingly. Forhigh-end network security products (e.g., those having high-endcomputational abilities), one option would be to train the last two orthree layers, while for low-end ones, the training could involve onlythe last layer. This is the idea of “Transfer Learning” in deep-learningtheory. By doing so, a “targeted” D-node can quickly respond to andincrease the detection rate of the new virus without having to wait tobe upgraded by the T-node.

In one embodiment, the it is only the D-node that detected the virus atissue (the local “targeted” D-node) that performs retraining of itslocal detection model as not all of the participating the D-nodesnecessarily need to have the immediate ability to detect this kind ofnew virus; secondly, as the training is not complete, it may increasethe detection rate of this kind of new virus, but may also decrease thedetection rate of other viruses.

In one embodiment, after a sufficient amount of virus samples arecollected within sample library 108 from the participating D-nodes sincethe last retraining cycle, system 106 can cause AI learning unit 112 toretrain the global virus classification model based on the currentcontents of feature depository 110 (which, in one embodiment iscontinuously updated as new virus samples are stored in sample library108).

At block 316, responsive to a retraining cycle performed by the T-nodeor responsive to a request by D-node 116 to the T-node, an updated virusclassification model can be received by D-node 116. Responsive toreceipt of the new virus classification model, D-node 116 can replaceits local virus detection model with the new virus classification modeland continue its virus detection and virus sample collection processingbased thereon.

Thus, during an iteration of above-described self-evolving cycle,numerous virus samples are archived in sample library 108 responsive todetection by the participating D-nodes. Meanwhile, the local virusdetection models used by the participating D-nodes that act as virusclassifier become increasingly capable of detecting and classifyingviruses with increased accuracy as a result of the local retraining.Then, after a sufficient number of new virus samples have been collectedor after sufficient time has elapsed since the last retraining of theglobal virus detection model or responsive to observation of a newvariant of a virus family, a retraining cycle can be performed to createa new global virus detection model based on the current state of samplelibrary 108 and feature depository 110. In one embodiment, theretraining uses both the archived as well as the newly collected virussamples since the last training cycle to feed into AI learning unit 112to train the new AI classification model. Finally, to complete theself-evolving cycle, each of the participating D-nodes are upgradedbased on the new global virus detection model so as to benefit from thecollective intelligence gathered by all other participating D-nodes.

FIG. 4 is a block diagram conceptually illustrating workflow performedby a T-node 400 in accordance with an embodiment of the presentinvention. In context of the present example, a feature extractionmodule 416 can read multiple samples (including both benign and virussamples) in the form of binary files. The binary files can be read inparallel from sample library 108 to buffers 402-1, 402-2 . . . 402-N.Further, as part of the feature extraction process, m-feature extractionalgorithms 404-1, 404-2 . . . 404-N can be applied on the binary filesto yield an m-dimension feature vector 406-1, 406-2 . . . 406-N suchthat each dimension of the feature vector 406-1, 406-2 . . . 406-Ncorresponds to a specific feature of a respective binary file. Finally,all the feature vectors 406-1, 406-2 . . . 406-N can be stored in afeature depository 110 for use in connection with performing training ofa virus classification model 414 (the global virus classificationmodel).

In context of the present example, when a training process is triggered,responsive to one of the triggering events described herein, forexample, a feature aggregator 408 can select one or a combination offeatures from feature depositary 110, to constitute training of AIlearning unit 112. Consequently, AI learning unit 112 is enabled toperform a supervised learning process to train virus classification mode414 based on the formed training set. Those skilled in the art willappreciate that classification model 414 can be of any form thatimplements an AI learning protocol. For example, AI learning unit 112can develop and update classification model 414 that can be adeep-learning neural network, a random forest, a support vector machine(SVM), or a combination of several models that employs a votingmechanism for final classification. In an example, computation array 412can be implemented by a physical array that consists of tens, hundreds,thousands or possibly millions of GPU processors, or a virtual arraythat employs an algorithm coordinating parallel computations among adistributed network to provide basic computation capability to supportthe training process.

FIG. 5 is a block diagram 500 conceptually illustrating featureextraction for virus detection and classification in accordance with anembodiment of the present invention. In the context of the presentexample, feature extraction is performed within a feature extractionlayer 530. In one embodiment, feature extraction includes transformingeach binary file (representing a benign or virus sample) into a timeseries vector such that each binary file is distributed across multiplechunks. Each chunk includes a specific number of bits associated with anunsigned integer. The size of the vector can be equal to the number ofchunks. Further, the time series vector can be projected fromtime-domain to a first domain, where the first domain can be definedusing a pre-defined matrix, e.g., an orthogonal basis matrix.

In the context of the present example, feature extraction technique isbased on a generalized orthogonal basis and an implementation that usesthe extracted features to generate one or more AI based classificationmodels (e.g., a support vector machine (SVM) classifier 510, a randomforest classifier 512 and/or a neural network classifier 514). In anembodiment, feature extraction is performed by transforming the binaryfile of a sample to a time series, and then projecting the series fromtime domain to a space defined by an orthogonal basis.

In the present example, j×M bits of raw binary file 502 are read into abuffer such that every j bits of the binary file is interpreted as anunsigned integer value ranging from 0 to 2^(j)−1. In one embodiment, jis a multiple of 8 (e.g., 8, 16, 32, or 64) and M is the size of thebinary file divided by j when M is a multiple of j; otherwise M is thesize of the binary file divided by j, plus 1 (for the remainder). So,assuming a binary file size of 2 MB and a j value of 8, then M would be256. In this manner, the binary file can be transformed into a vector ofsize M, which can be viewed as a time series 504 with respect to bitoffsets. Further, the vector of size M can be down sampled to timeseries 506 of size N, which equals the dimension of the orthogonal basisJ_(N). In one embodiment N is a multiple of 256 (e.g., 256, 512, 7681,024, 1,280, 1,536, 1,792, 2,048, etc.). The down-sampling can be doneimplicitly by a Fast Fourier Transform (FFT) process or by randomly oruniformly selecting N integers from the original vector of size M. Forexample, if M<N, N−M zeros can be padded to the original vector of sizeM. Finally, the vector of size N is used to matrix multiply thepredefined orthogonal basis matrix J_(N), where

$J_{N} = \begin{bmatrix}J_{0,0} & \ldots & J_{0,{N - 1}} \\ \vdots & \ddots & \vdots \\J_{{N - 1},0} & \ldots & J_{{N - 1},{N - 1}}\end{bmatrix}_{N \times N}$

The result 508 is a vector of size N, which is the projectioncoefficients of the original time series to the orthogonal basis J_(N).Furthermore, a feature matrix of L×N can be generated by applying theprojection to the same orthogonal basis matrix J_(N) on L files insample library. This L×N feature matrix can then be used as the trainingset for an AI based classification model, which could be a deep-learningneural network, or a machine-learning classifier (e.g., SVM classifier510, random forest classifier 512 or neural network classifier 514, usedindividually or in combination or any other classifier that comprises acombination of multiple classifiers). In an example, the AI learningunit can exhaust all the combinations of features to train one or moreAI based classification models. When using multiple AI basedclassification models, a voting mechanism may be employed that includesa voting stage 526 and classification stage 528 can be used to selectthe best model and its corresponding feature combination.

Those skilled in the art will appreciate that SVM classifier 510 isbased on supervised learning models with associated learning algorithmsthat can analyze samples used for classification analysis. A set ofviruses, each marked as belonging to at least one category can beprovided so that an SVM training algorithm builds a model that assignsnew viruses to one category or the other. Random forest classifier 512is based on ensemble algorithm those which can combine more than onealgorithms of same or different kind for classifying viruses. Forexample, prediction can be run over Naive Bayes, SVM and Decision Treeand then a vote can be taken for final consideration of the category forthe virus sample. Neural network classifier 514 includes a neuralnetwork in which units (neurons) are arranged in layers. The networks inneural network classifier 514 can be defined to be feed-forward where aunit feeds its output to all the units on the next layer, and there isno feedback to the previous layer. Weightings can be applied to signalspassing from one unit to another, and these weightings can be tuned intraining phase to adapt a neural network to classify the virus samples.Exemplary stages of neural network classifier 514 can include a linearcombination stage 516, an activation stage 518, a pooling stage 520,Fully connected (FC) layers 522, and a classifier 524. Those skilled inthe art will further appreciate that the classifiers 510, 512 and 514are described herein in an exemplary manner and various otherclassifiers can be utilized individually or in combination to build theclassification model.

According to one embodiment, the orthogonal basis is as follows:

$J_{N} = \begin{bmatrix}J_{0}^{0} & J_{0}^{1} & \ldots & J_{0}^{N - 1} \\J_{1}^{0} & J_{1}^{1} & \ldots & J_{1}^{N - 1} \\ \vdots & \vdots & \ddots & \vdots \\J_{N - 1}^{0} & J_{N - 1}^{1} & \ldots & J_{N - 1}^{N - 1}\end{bmatrix}$

where, J_(n)=e^(−j2πn/N) (n=0, 1, . . . , N−1), then the featureextraction process described herein will be equivalent to applying anN-point Fast Fourier Transform (FFT) on the original time seriesaccording to the following proof provided below:

Considering the following time series:X=(X ₀ ,X ₁ , . . . ,X _(N-1))and applying N-point FFT on X, yields:

$\begin{matrix}{{X_{K} = {\sum\limits_{n = 0}^{n = {N - 1}}{X_{n}e^{\frac{{- j}2\pi{Kn}}{N}}{where}}}},\left( {{K = 0},1,2,\ldots,{N - 1}} \right)} & {{EQ}{\# 1}}\end{matrix}$

Considering a linear combination of X_(K):Ŷ=Σ _(K=0) ^(K=N) W _(K) X _(K) =W ₀ X ₀ +W ₁ X ₁ + . . . +W _(N-1) X_(N-1)

Substituting the value of X_(k) from EQ #1 (above)

${Y = {{W_{0} \cdot {\sum\limits_{n = 0}^{N - 1}{X_{n}e^{\frac{{- j}2\pi n}{N} \cdot 0}}}} + {W_{1} \cdot {\sum\limits_{n = 0}^{N - 1}{X_{n}e^{\frac{{- j}2\pi n}{N} \cdot 1}}}} + \ldots + {W_{N - 1} \cdot {\sum\limits_{n = 0}^{N - 1}{X_{n}e^{\frac{{- j}2\pi n}{N} \cdot {({N - 1})}}}}}}}{{{{Let}J_{n}} = e^{- \frac{j2\pi n}{N}}},{then}}{\hat{Y} = {{W_{0}{\sum\limits_{n = 0}^{N - 1}{X_{n} \cdot J_{n}^{0}}}} + {W_{1} \cdot {\sum\limits_{n = 0}^{N - 1}{X_{n} \cdot J_{n}^{1}}}} + \ldots + {W_{N - 1} \cdot {\sum\limits_{n = 0}^{N - 1}{X_{n} \cdot J_{n}^{N - 1}}}}}}{\hat{Y} = {{{W_{0}\left\lbrack {X_{0},X_{1},\ldots,X_{N - 1}} \right\rbrack}\begin{bmatrix}J_{0}^{0} \\J_{1}^{0} \\ \vdots \\J_{N - 1}^{0}\end{bmatrix}} + {{W_{1}\left\lbrack {X_{0},X_{1},\ldots,X_{N - 1}} \right\rbrack}\begin{bmatrix}J_{0}^{1} \\J_{1}^{1} \\ \vdots \\J_{N - 1}^{1}\end{bmatrix}} + \ldots}}{{W_{N - 1}\left\lbrack {X_{0},X_{1},\ldots,X_{N - 1}} \right\rbrack}\begin{bmatrix}J_{0}^{N - 1} \\J_{1}^{N - 1} \\ \vdots \\J_{N - 1}^{N - 1}\end{bmatrix}}{\hat{Y} = {\left\lbrack {W_{0},W_{1},\ldots,W_{N - 1}} \right\rbrack^{T}\left( {\left\lbrack {X_{0},X_{1},\ldots,X_{N - 1}} \right\rbrack_{1XN}\begin{bmatrix}J_{0}^{0} & J_{0}^{1} & \ldots & J_{0}^{N - 1} \\J_{1}^{0} & J_{1}^{1} & & J_{1}^{N - 1} \\ \vdots & \vdots & \ddots & \vdots \\J_{N - 1}^{0} & J_{N - 1}^{1} & \ldots & J_{N - 1}^{N - 1}\end{bmatrix}}_{NXN} \right)^{T}}}{{{{If}J_{N}} = \begin{bmatrix}J_{0}^{0} & J_{0}^{1} & \ldots & J_{0}^{N - 1} \\J_{1}^{0} & J_{1}^{1} & & J_{1}^{N - 1} \\ \vdots & \vdots & \ddots & \vdots \\J_{N - 1}^{0} & J_{n - 1}^{1} & \ldots & J_{N - 1}^{N - 1}\end{bmatrix}},{{{where}J_{n}} = {e^{\frac{{- j}2\pi n}{N}}\left( {{n = 0},1,2,\ldots,{N - 1}} \right)}},}$then projection on J_(n) is equivalent to apply an N-point FFT on thetime series X.

FIG. 6A is a high-level flow diagram 600 illustrating a process forgenerating a classification model by a T-node in accordance with anembodiment of the present invention. In the context of the presentexample, at block 602, T-node can receive multiple samples that caninclude virus samples and benign samples from multiple participatingD-nodes that are associated with respective customer networks. Further,T-node can select samples from the received samples to build/update asample library, such that, number of benign samples stored in the samplelibrary are greater than number of virus samples.

At block 604, the T-node can extract features from the samples stored inthe sample library and store the extracted features in a featuredepository. The feature depository can store a variety of file featuresextracted from every sample in the sample library. Examples of features,include, but are not limited to, a control diagrams based ondisassembled code, byte-sequence n-gram from semantic analysis,coefficients from the projection on feature space, operation codefrequency distribution, statistics of Application Programming Interface(API) calls, and the like.

At block 606, the T-node can enable AI learning unit to learn any or acombination of features stored in the feature depository to build aclassification model for detection and classification of viruses. Thisglobal virus classification model can be updated responsive to an event(e.g., observation of a new variant of a virus or receipt of X newsamples), on a periodic basis (e.g., twice per day, once per day, onceper week, etc.) or on demand (e.g., responsive to direction receivedfrom a network administrator) based on learning by the AI learning unit.The classification model could be a deep-learning neural network, or amachine-learning classifier that can be based on one or more of an SVMclassifier, a random forest classifier, and a neural network classifier,individually or in combination.

At block 608, the classification model can be provided for use as alocal virus detection model to respective D-nodes such that each D-nodecan detect viruses using the its own local virus detection model. Asnoted above, these local virus detection models can be independentlyupdated responsive to local virus detections, thereby increasing theefficiency of the D-nodes to detect virus while awaiting an upgradebased on the collective intelligence gathered by the T-Node from allparticipating D-nodes.

FIG. 6B is a high-level flow diagram 650 illustrating a process forproviding a virus sample by a D-node to a T-node in accordance with anembodiment of the present invention. At block 652, the D-node can detecta virus within network traffic associated with the customer network itis protecting. The virus detection can be performed based on a localvirus detection model of the D-node constructed from the global virusclassification model provided by the T-node and which can becontinuously updated by learning features extracted from locallydetected viruses. As the computational ability of D-nodes is typicallyless than that of the T-node and the feature extraction is an onlineprocess, in one embodiment, the D-node only extracts the features thathave been selected by the T-node, as input to the global virusclassification model received from the T-node. At block 654, the D-nodecan categorize and label the detected virus based on a virus familyassociated with the detected virus sample and at block 656, the D-nodecan provide the detected virus as a virus sample to the T-node.

FIG. 7 illustrates an exemplary computer system 700 in which or withwhich embodiments of the present invention may be utilized.

As shown in FIG. 7, computer system includes an external storage device710, a bus 720, a main memory 730, a read only memory 740, a massstorage device 750, a communication port 760, and a processor 770.Computer system may represent some portion of cybersecurity fabric(e.g., T-node 104 or, D-nodes 116) or system 106.

Those skilled in the art will appreciate that computer system 700 mayinclude more than one processor 770 and communication ports 760.Examples of processor 770 include, but are not limited to, an Intel®Itanium® or Itanium 2 processor(s), or AMD® Opteron® or Athlon MP®processor(s), Motorola® lines of processors, FortiSOC™ system on a chipprocessors or other future processors. Processor 770 may include variousmodules associated with embodiments of the present invention.

Communication port 760 can be any of an RS-232 port for use with a modembased dialup connection, a 10/100 Ethernet port, a Gigabit or 10 Gigabitport using copper or fiber, a serial port, a parallel port, or otherexisting or future ports. Communication port 760 may be chosen dependingon a network, such a Local Area Network (LAN), Wide Area Network (WAN),or any network to which computer system connects.

Memory 730 can be Random Access Memory (RAM), or any other dynamicstorage device commonly known in the art. Read only memory 740 can beany static storage device(s) e.g., but not limited to, a ProgrammableRead Only Memory (PROM) chips for storing static information e.g.start-up or BIOS instructions for processor 770.

Mass storage 750 may be any current or future mass storage solution,which can be used to store information and/or instructions. Exemplarymass storage solutions include, but are not limited to, ParallelAdvanced Technology Attachment (PATA) or Serial Advanced TechnologyAttachment (SATA) hard disk drives or solid-state drives (internal orexternal, e.g., having Universal Serial Bus (USB) and/or Firewireinterfaces), e.g. those available from Seagate (e.g., the SeagateBarracuda 7200 family) or Hitachi (e.g., the Hitachi Deskstar 7K1000),one or more optical discs, Redundant Array of Independent Disks (RAID)storage, e.g. an array of disks (e.g., SATA arrays), available fromvarious vendors including Dot Hill Systems Corp., LaCie, NexsanTechnologies, Inc. and Enhance Technology, Inc.

Bus 720 communicatively couples processor(s) 770 with the other memory,storage and communication blocks. Bus 720 can be, e.g. a PeripheralComponent Interconnect (PCI)/PCI Extended (PCI-X) bus, Small ComputerSystem Interface (SCSI), USB or the like, for connecting expansioncards, drives and other subsystems as well as other buses, such a frontside bus (FSB), which connects processor 770 to software system.

Optionally, operator and administrative interfaces, e.g. a display,keyboard, and a cursor control device, may also be coupled to bus 720 tosupport direct operator interaction with computer system. Other operatorand administrative interfaces can be provided through networkconnections connected through communication port 760. External storagedevice 710 can be any kind of external hard-drives, floppy drives,IOMEGA® Zip Drives, Compact Disc-Read Only Memory (CD-ROM), CompactDisc-Re-Writable (CD-RW), Digital Video Disk-Read Only Memory (DVD-ROM).Components described above are meant only to exemplify variouspossibilities. In no way should the aforementioned exemplary computersystem limit the scope of the present disclosure.

Thus, it will be appreciated by those of ordinary skill in the art thatthe diagrams, schematics, illustrations, and the like representconceptual views or processes illustrating systems and methods embodyingthis invention. The functions of the various elements shown in thefigures may be provided through the use of dedicated hardware as well ashardware capable of executing associated software. Similarly, anyswitches shown in the figures are conceptual only. Their function may becarried out through the operation of program logic, through dedicatedlogic, through the interaction of program control and dedicated logic,or even manually, the particular technique being selectable by theentity implementing this invention. Those of ordinary skill in the artfurther understand that the exemplary hardware, software, processes,methods, and/or operating systems described herein are for illustrativepurposes and, thus, are not intended to be limited to any particularnamed.

As used herein, and unless the context dictates otherwise, the term“coupled to” is intended to include both direct coupling (in which twoelements that are coupled to each other contact each other) and indirectcoupling (in which at least one additional element is located betweenthe two elements). Therefore, the terms “coupled to” and “coupled with”are used synonymously. Within the context of this document terms“coupled to” and “coupled with” are also used euphemistically to mean“communicatively coupled with” over a network, where two or more devicesare able to exchange data with each other over the network, possibly viaone or more intermediary device.

It should be apparent to those skilled in the art that many moremodifications besides those already described are possible withoutdeparting from the inventive concepts herein. The inventive subjectmatter, therefore, is not to be restricted except in the spirit of theappended claims. Moreover, in interpreting both the specification andthe claims, all terms should be interpreted in the broadest possiblemanner consistent with the context. In particular, the terms “comprises”and “comprising” should be interpreted as referring to elements,components, or steps in a non-exclusive manner, indicating that thereferenced elements, components, or steps may be present, or utilized,or combined with other elements, components, or steps that are notexpressly referenced. Where the specification claims refers to at leastone of something selected from the group consisting of A, B, C . . . andN, the text should be interpreted as requiring only one element from thegroup, not A plus N, or B plus N, etc.

While the foregoing describes various embodiments of the invention,other and further embodiments of the invention may be devised withoutdeparting from the basic scope thereof. The scope of the invention isdetermined by the claims that follow. The invention is not limited tothe described embodiments, versions or examples, which are included toenable a person having ordinary skill in the art to make and use theinvention when combined with information and knowledge available to theperson having ordinary skill in the art.

What is claimed is:
 1. A method comprising: maintaining, by a centraltraining node of a cybersecurity fabric, a sample library having aplurality of samples, wherein the samples include virus samples andbenign samples; generating, by the central training node, a global virusclassification model by extracting features from the plurality ofsamples and training a machine-learning classifier or a deep-learningneural network, wherein said extracting features from the plurality ofsamples comprises: transforming, by the central training node, eachbinary file of a plurality of binary files, representing the pluralityof samples, into a time series vector represented in a form of aplurality of chunks, wherein each chunk includes j bits and each chunkis interpreted as an unsigned integer value ranging from 0 to 2^(j)−1and wherein a size of the time series vector is equal to a number of theplurality of chunks; and projecting, by the central training node, thetime series vector from a time domain to a first domain by applying atransformation to the time series vector; distributing, by the centraltraining node, the global virus classification model to a plurality ofdetection nodes of the cybersecurity fabric for use by each of theplurality of detection nodes as a local virus detection model inconnection with virus detection and sample collection, wherein each ofthe plurality of detection nodes is associated with a respectivecustomer network; responsive to detection of a virus in network trafficbeing processed by a detection node of the plurality of detection nodes,receiving, by the central training node, a virus sample from thedetection node; in response to determination that an instance of thereceived virus sample is already present in the sample library, thenforegoing, by the central training node, incorporation of the receivedvirus sample into the sample library; in response to determination thatthe instance of the received virus sample is not present in the samplelibrary, then incorporating, by the central training node, the receivedvirus sample into the sample library by adding the received virus sampleinto an appropriate category of a plurality of virus family categoriesbased on a virus family with which the received virus sample isassociated; creating or updating, by the central training node, afeature depository by extracting features from the plurality of samples;and responsive to a retraining event: creating, by the central trainingnode, an improved global virus classification model by retraining themachine-learning classifier or the deep-learning neural network based onfeatures contained in the feature depository; and causing, by thecentral training node, the plurality of detection nodes to be upgradedby distributing the improved global virus classification model to theplurality of detection nodes to replace their respective local virusdetection models.
 2. The method of claim 1, wherein the sample librarycomprises an imbalanced sample library in which a number of the benignsamples is greater than a number of the virus samples.
 3. The method ofclaim 2, wherein a ratio of the number of benign samples to the numberof virus samples is 10 to
 1. 4. The method of claim 1, wherein saidextracting features from the plurality of samples comprises: reading inparallel, by the central training node, a plurality of binary filesrepresenting the plurality of samples into corresponding buffers of aplurality of buffers; and creating, by the central training node, anM-dimensional feature vector for each of the plurality of files byperforming a feature extraction process on each buffer of the pluralityof buffers, wherein each dimension of the M-dimensional feature vectorcorresponds to an extracted feature of the extracted features.
 5. Themethod of claim 1, wherein the first domain is a frequency domain andwherein the transformation comprises a Fast Fourier Transform.
 6. Themethod of claim 5, wherein the extracted features comprise one or moreof: control diagrams ascertained from disassembled code of the pluralityof samples; byte sequence n-grams identified based on semantic analysisof the plurality of samples; and coefficients from said projecting. 7.The method of claim 1, wherein the retraining event comprises: additionof a predetermined or configurable number of virus samples to the samplelibrary since performance of the training or performance of a priorretraining; passing of a predetermined or configurable amount of timesince performance of the training or performance of the priorretraining; or receipt, by the central training node, a request by anetwork administrator to perform retraining of the machine-learningclassifier or the deep-learning neural network.
 8. The method of claim1, further comprising responsive to a request received from a particulardetection node of the plurality of detection nodes, providing, by thecentral training node, the global virus classification model to thedetection node.
 9. The method of claim 1, further comprising responsiveto detection of the virus in the network traffic being processed by thedetection node, categorizing and labeling, by the detection node, thevirus sample based on a virus family with which the detected virus isassociated.
 10. The method of claim 1, further comprising responsive todetection of the virus in the network traffic being processed by thedetection node, retraining, by the detection node, the local virusdetection model by extracting features from the detected virus.
 11. Anon-transitory computer-readable storage medium embodying a set ofinstructions, which when executed by one or more processors of a centraltraining node of a cybersecurity fabric, causes the one or moreprocessors to perform a method comprising: maintaining a sample libraryhaving a plurality of samples, wherein the samples include virus samplesand benign samples; generating a global virus classification model byextracting features from the plurality of samples and training amachine-learning classifier or a deep-learning neural network, whereinsaid extracting features from the plurality of samples comprises:reading in parallel a plurality of binary files representing theplurality of samples into corresponding buffers of a plurality ofbuffers; and creating an M-dimensional feature vector for each of theplurality of files by performing a feature extraction process on eachbuffer of the plurality of buffers, wherein each dimension of theM-dimensional feature vector corresponds to an extracted feature of theextracted features; distributing the global virus classification modelto a plurality of detection nodes of the cybersecurity fabric for use byeach of the plurality of detection nodes as a local virus detectionmodel in connection with virus detection and sample collection, whereineach of the plurality of detection nodes is associated with a respectivecustomer network; responsive to detection of a virus in network trafficbeing processed by a detection node of the plurality of detection nodes,receiving a virus sample from the detection node; in response todetermination that an instance of the received virus sample is alreadypresent in the sample library, then foregoing incorporation of thereceived virus sample into the sample library; in response todetermination that the instance of the received virus sample is notpresent in the sample library, then incorporating the received virussample into the sample library by adding the received virus sample intoan appropriate category of a plurality of virus family categories basedon a virus family with which the received virus sample is associated;creating or updating a feature depository by extracting features fromthe plurality of samples; and responsive to a retraining event: creatingan improved global virus classification model by retraining themachine-learning classifier or the deep-learning neural network based onfeatures contained in the feature depository; and causing the pluralityof detection nodes to be upgraded by distributing the improved globalvirus classification model to the plurality of detection nodes toreplace their respective local virus detection models.
 12. Thenon-transitory computer-readable storage medium of claim 11, wherein thesample library comprises an imbalanced sample library in which a numberof the benign samples is greater than a number of the virus samples. 13.The non-transitory computer-readable storage medium of claim 12, whereina ratio of the number of benign samples to the number of virus samplesis 10 to
 1. 14. The non-transitory computer-readable storage medium ofclaim 11, wherein said extracting features from the plurality of samplescomprises: reading in parallel a plurality of binary files representingthe plurality of samples into corresponding buffers of a plurality ofbuffers; and creating an M-dimensional feature vector for each of theplurality of files by performing a feature extraction process on eachbuffer of the plurality of buffers, wherein each dimension of theM-dimensional feature vector corresponds to an extracted feature of theextracted features.
 15. The non-transitory computer-readable storagemedium of claim 11, wherein the first domain is a frequency domain andwherein the transformation comprises a Fast Fourier Transform.
 16. Thenon-transitory computer-readable storage medium of claim 11, wherein theextracted features comprise one or more of: control diagrams ascertainedfrom disassembled code of the plurality of samples; byte sequencen-grams identified based on semantic analysis of the plurality ofsamples; and coefficients from said projecting.
 17. The non-transitorycomputer-readable storage medium of claim 11, wherein the retrainingevent comprises: addition of a predetermined or configurable number ofvirus samples to the sample library since performance of the training orperformance of a prior retraining; passing of a predetermined orconfigurable amount of time since performance of the training orperformance of the prior retraining; or receipt, by the central trainingnode, a request by a network administrator to perform retraining of themachine-learning classifier or the deep-learning neural network.
 18. Thenon-transitory computer-readable storage medium of claim 11, furthercomprising responsive to a request received from a particular detectionnode of the plurality of detection nodes, providing the global virusclassification model to the detection node.